/*                          UX-Framework                               
 *                                                                 
 *  iZE Co.,Ltd. Copyright 2009 All rights reserved.          
 *  This file is distributed under the terms of the GNU Lesser 
 *  General Public License, described in file LICENSE.                                     
 */
package jp.ize.ux;

// {{{ imports
#if flash9
import flash.events.Event;
#elseif flash
#end
// }}}
// {{{ enum SizePolicy {
enum SizePolicy {
	FIXED;     /* 大きさを変化させません */
	MINIMUM;   /* なるべく最小サイズを保とうとします。 */
	MAXIMUM;   /* なるべく最大サイズを保とうとします。 */
	PREFER;    /* なるべく推奨サイズを保とうとします。 */
	EXPAND;    /* 出来る限り大きくなろうとします。 */
}
// }}}
// {{{ class UXSizeHint
/** 
 * UXSizeHintクラス
 * コンポーネントを配置する時に、Layoutクラスが参照するコンポーネントのレイアウトサイズに関する
 * 詳細な情報を持つクラスです。<br>
 *
 * @author		iZE Co., Ltd.<br>
 * @version		$Id$<br>
 */
class UXSizeHint
{
	// {{{ public var minimum(default, default) : UXSize
	/**
	 * コンポーネントの最小サイズを指定します。デフォルトで(0, 0)です。
	 */
	public var minimum(default, default) : UXSize;
	// }}}
	// {{{ public var maximum(default, default) : UXSize
	/**
	 * コンポーネントの最大サイズを指定します。デフォルトで(1.7976931348623158e+308, 1.7976931348623158e+308)です。
	 */
	public var maximum(default, default) : UXSize;
	// }}}
	// {{{ public var prefer(default, default) : UXSize
	/**
	 * コンポーネントの推奨サイズです。デフォルトでnullです。
	 */
	public var prefer(default, default) : Null<UXSize>;
	// }}}
	// {{{ public var scale(default, default) : Bool
	/**
	 * コンポーネントのレイアウトサイズをコンポーネントの実サイズに連動させるかどうかを設定するフラグです。
	 * このフラグがtrueの時には、layoutクラスはコンポーネントレイアウトサイズと共に実サイズも変化させます。
	 * デフォルトでfalseです。
	 */
	public var scale(default, default) : Bool;
	// }}}
	// {{{ public var policy(default, default) : SizePolicy
	/**
	 * コンポーネントが推奨するポリシーです。デフォルトでPREFERです。
	 */
	public var policy(default, default) : SizePolicy;
	// }}}
	// {{{ public function new()
	/**
	 * コンストラクタ
	 */
	public function new()
	{
		policy = PREFER;
		scale = false;
		minimum = new UXSize();
		
	}
	// }}}
}
// }}}
